package com.example.education.service;

import com.example.education.exception.ParamException;
import com.example.education.model.User;

import java.util.List;

/**
 * 	用户模块：提供用户的登陆，注册，信息修改，权限变更和查询其基本信息的接口。
 */

public interface UserService {

    /**
     * 登陆接口
     * @param loginName 用户名
     * @param password 密码
     * @return 登陆成功返回用户信息
     */
    User login(String loginName,String password) throws ParamException;

    /**
     * 注册接口
     * @param loginName 用户名
     * @param password  密码
     * @return 注册成功返回用户信息
     */
    User register(String loginName,String password) throws ParamException;

    /**
     * 修改信息接口
     * @param user
     * @return 是否修改成功
     */
    boolean updateUserInfo(User user) throws ParamException;

    /**
     * 通过id查找用户
     * @param id
     * @return 查找到的用户信息
     */
    User getUserById(Integer id) throws ParamException;

    /**
     * 通过id查找用户
     * @param ids
     * @return 查找到的用户信息
     */
    List<User> getUserByIds(List<Integer> ids) throws ParamException;
}
